package org.naxx.security.model.impl.match;

import org.naxx.security.datatype.DataType;
import org.naxx.security.datatype.DataTypeResolver;
import org.naxx.security.datatype.DataTypeValueResolver;
import org.naxx.security.model.match.ValueHolder;

/**
 * Users of this class must ensure value matches the
 * declared type.
 * 
 * @see DataTypeResolver
 * @see DataTypeValueResolver
 */
public class ValueHolderImpl implements ValueHolder {
	
	private DataType dataType;
	private Object value;
	
	public ValueHolderImpl() {
	}

	public ValueHolderImpl(DataType dataType, Object value) {
		this.dataType = dataType;
		this.value = value;
	}

	public DataType getDataType() {
		return this.dataType;
	}

	public Object getValue() {
		return this.value;
	}

	public void setDataType(DataType dataType) {
		this.dataType = dataType;
	}

	public void setValue(Object value) {
		this.value = value;
	}
}
